<template>
  <div id="aCoursesList" class="bg-fa of">
    <!-- /课程详情 开始 -->
    <section class="container">
      <section class="path-wrap txtOf hLh30">
        <a href="#" title class="c-999 fsize14">首页</a>
        \
        <a href="/course" title class="c-999 fsize14">课程列表</a>
        \
        <span class="c-333 fsize14">{{course.title}}</span>
      </section>
      <div>
        <article class="c-v-pic-wrap" style="height: 357px;">
          <section class="p-h-video-box" id="videoPlay">
            <img style="width: 640px;height: 357px;" :src="course.cover" :alt="course.title" class="dis c-v-pic">
          </section>
        </article>
        <aside class="c-attr-wrap">
          <section class="ml20 mr15">
            <h2 class="hLh30 txtOf mt15">
              <span class="c-fff fsize24">{{course.title}}</span>
            </h2>
            <section class="c-attr-jg">
              <span class="c-fff">价格：</span>
              <b class="c-yellow" style="font-size:24px;">￥{{course.price}}</b>
            </section>
            <section class="c-attr-mt c-attr-undis">
              <span class="c-fff fsize14">主讲： {{course.teacherName}}&nbsp;&nbsp;&nbsp;</span>
            </section>
            <section class="c-attr-mt of">
              <span class="ml10 vam">
                <em class="icon18 scIcon"></em>
                <a class="c-fff vam" title="收藏" href="#">收藏</a>
              </span>
            </section>
            <section class="c-attr-mt">
              <!-- 免费课程-->
              <a href="javascript:void(0)" v-if="status || course.price==0" title="立即观看" class="comm-btn c-btn-3">立即观看</a>
              <!-- 付费课程-->
              <a href="javascript:void(0)" v-else @click.prevent="createOrder" title="付费观看" class="comm-btn c-btn-3">付费观看</a>
            </section>
          </section>
        </aside>
        <aside class="thr-attr-box">
          <ol class="thr-attr-ol">
            <li>
              <p>&nbsp;</p>
              <aside>
                <span class="c-fff f-fM">购买数</span>
                <br>
                <h6 class="c-fff f-fM mt10">{{course.buyCount}}</h6>
              </aside>
            </li>
            <li>
              <p>&nbsp;</p>
              <aside>
                <span class="c-fff f-fM">课时数</span>
                <br>
                <h6 class="c-fff f-fM mt10">{{course.lessonNum}}</h6>
              </aside>
            </li>
            <li>
              <p>&nbsp;</p>
              <aside>
                <span class="c-fff f-fM">浏览数</span>
                <br>
                <h6 class="c-fff f-fM mt10">{{course.viewCount}}</h6>
              </aside>
            </li>
          </ol>
        </aside>
        <div class="clear"></div>
      </div>
      <!-- /课程封面介绍 -->
      <div class="mt20 c-infor-box">
        <article class="fl col-7">
          <section class="mr30">
            <div class="i-box">
              <div>
                <section id="c-i-tabTitle" class="c-infor-tabTitle c-tab-title">
                  <a name="c-i" class="current" title="课程详情">课程详情</a>
                </section>
              </div>
              <article class="ml10 mr10 pt20">
                <div>
                  <h6 class="c-i-content c-infor-title">
                    <span>课程介绍</span>
                  </h6>
                  <div class="course-txt-body-wrap">
                    <section class="course-txt-body">
                      <p v-html="course.description"></p>
                    </section>
                  </div>
                </div>
                <!-- /课程介绍 -->
                <div class="mt50">
                  <h6 class="c-g-content c-infor-title">
                    <span>课程大纲</span>
                  </h6>
                  <section class="mt20">
                    <div class="lh-menu-wrap">
                      <menu id="lh-menu" class="lh-menu mt10 mr10">
                        <ul>
                          <!-- 文件目录 -->
                          <li class="lh-menu-stair" v-for="chapter in chapters" :key="chapter.id">
                            <a href="javascript: void(0)" :title="chapter.title" class="current-1">
                              <em class="lh-menu-i-1 icon18 mr10"></em>{{chapter.title}}
                            </a>
                            <ol class="lh-menu-ol" style="display: block;">
                              <li class="lh-menu-second ml30" v-for="video in chapter.children" :key="video.id">
                                <a :href="'/player/'+video.videoSourceId" :title="video.title" target="_blank">
                                  <span class="fr">
                                    <i class="free-icon vam mr10" v-if="course.price==0">免费观看</i>
                                    <i class="free-icon vam mr10" v-else>付费观看</i>
                                  </span>
                                  <em class="lh-menu-i-2 icon16 mr5">&nbsp;&nbsp;</em>{{video.title}}
                                </a>
                              </li>
                            </ol>
                          </li>
                        </ul>
                      </menu>
                    </div>
                  </section>
                </div>
                <!-- /课程大纲 -->
              </article>
            </div>
          </section>
        </article>
        <aside class="fl col-3">
          <div class="i-box">
            <div>
              <section class="c-infor-tabTitle c-tab-title">
                <a title href="javascript:void(0)">主讲讲师</a>
              </section>
              <section class="stud-act-list">
                <ul style="height: auto;">
                  <li>
                    <div class="u-face">
                      <a :href="'/teacher/'+course.teacherId">
                        <img :src="course.avatar" width="50" height="50" :alt="course.teacherName">
                      </a>
                    </div>
                    <section class="hLh30 txtOf">
                      <a class="c-333 fsize16 fl" :href="'/teacher/'+course.teacherId">{{course.teacherName}}</a>
                    </section>
                    <section class="hLh20 txtOf">
                      <span class="c-999">{{course.intro}}</span>
                    </section>
                  </li>
                </ul>
              </section>
            </div>
          </div>
        </aside>
        <div class="clear"></div>
      </div>
    </section>
    <!-- /课程详情 结束 -->

    <div class="container">
      <div class="mt50 commentHtml">
        <h6 class="c-c-content c-infor-title" id="i-art-comment">
          <span class="commentTitle">课程评论</span>
        </h6>
        <section class="lh-bj-list pr mt20 replyhtml">
          <ul>
            <li class="unBr">
              <aside class="noter-pic">
                <img width="50" height="50" class="picImg" :src="user.avatar">
                </aside>
              <div class="of">
                <section class="n-reply-wrap">
                  <fieldset>
                    <textarea v-model="comment.content" placeholder="输入您要评论的文字" id="commentContent"></textarea>
                  </fieldset>
                  <button type="button" @click="addComment()" class="lh-reply-btn" style="cursor: pointer;width: 50px; height: 30px;">回复</button>
                </section>
              </div>
            </li>
          </ul>
        </section>
        <section class="">
            <section class="question-list lh-bj-list pr">
              <ul class="pr10">
                <li v-for="(comment,index) in comments.items" :key="index">
                    <aside class="noter-pic">
                      <img width="50" height="50" class="picImg" :src="comment.avatar">
                      </aside>
                    <div class="of">
                      <span class="fl">
                      <font class="fsize12 c-blue">
                        {{comment.nickname}}</font>
                      <font class="fsize12 c-999 ml5">评论：</font></span>
                    </div>
                    <div class="noter-txt mt5">
                      <p>{{comment.content}}</p>
                    </div>
                    <div class="of mt5">
                      <span class="fr"><font class="fsize12 c-999 ml5">{{comment.gmtCreate}}</font></span>
                    </div>
                  </li>
                </ul>
            </section>
          </section>

          <!-- 公共分页 开始 -->
          <div class="paging">
              <!-- undisable这个class是否存在，取决于数据属性hasPrevious -->
              <a
              :class="{undisable: !comments.hasPrevious}"
              href="#"
              title="首页"
              @click.prevent="gotoPage(1)">首</a>
              <a
              :class="{undisable: !comments.hasPrevious}"
              href="#"
              title="前一页"
              @click.prevent="gotoPage(comments.current-1)">&lt;</a>
              <a
              v-for="page in comments.pages"
              :key="page"
              :class="{current: comments.current == page, undisable: comments.current == page}"
              :title="'第'+page+'页'"
              href="#"
              @click.prevent="gotoPage(page)">{{ page }}</a>
              <a
              :class="{undisable: !comments.hasNext}"
              href="#"
              title="后一页"
              @click.prevent="gotoPage(comments.current+1)">&gt;</a>
              <a
              :class="{undisable: !comments.hasNext}"
              href="#"
              title="末页"
              @click.prevent="gotoPage(comments.pages)">末</a>
              <div class="clear"/>
          </div>
          <!-- 公共分页 结束 -->
        </div>
      </div>
    </div>

</template>

<script>

  import courseApi from '@/api/course'

  import orderApi from '@/api/order'

  import cookie from 'js-cookie'

  export default {

    data() {
      return {
        // 课程详情
        "course": "",
        // 章节信息
        "chapters": "",
        "comment": {
          "courseId": "",
          "teacherId": "",
          "content": ""
        },
        // 评论信息
        "comments": "",
        "commentQuery": {
          "teacherId": "",
          "courseId": "",
          "current": 1,
          "limit": 5
        },
        // 用户信息
        "user": "",
        // 课程是否支付
        "status": false
      }
    },
    created() {
      // 获取用户信息
      this.getUserInfo();
      // 课程id不为空
      if(this.$route.params && this.$route.params.courseId) {
        this.selectCourseDetail(this.$route.params.courseId);
      }
    },
    methods: {
      // 查询课程详情信息
      selectCourseDetail(courseId) {
        courseApi.selectCourseDetail(courseId)
          .then(res => {
            if(res.data.code==200) {
              this.course=res.data.data.course;
              this.chapters=res.data.data.chapters;
              this.status=res.data.data.status;
              // 第一次执行获取评论信息
              this.selectAllComments();
            }else {
              this.$message.error(res.data.message);
            }
          });
      },
      // 查询评论信息
      selectAllComments() {
        // 参数校验
        if(!this.course.teacherId) {
          this.$message.error("讲师id不能为空");
          return ;
        }
        if(!this.course.id) {
          this.$message.error("课程id不能为空");
          return ;
        }
        this.commentQuery.teacherId=this.course.teacherId;
        this.commentQuery.courseId=this.course.id;
        // 执行查询
        courseApi.selectAllComments(this.commentQuery)
          .then(res => {
            if(res.data.code==200) {
              this.comments=res.data.data;
            }else {
              this.$message.error(res.data.message);
            }
          });
      },
      // 跳转页动作
      gotoPage(page) {
        // 当page<=0或page>=pages时，提示
        if(page<=0) {
          this.$message.error("当前为第 1 页");
          return ;
        }else if(page>this.comment.pages) {
          this.$message.error("当前为最后 1 页");
          return ;
        }
        this.commentQuery.current=page;
        this.selectAllComments();
      },
      // 新增一条评论
      addComment() {
        // 校验参数
        if(!this.course.teacherId) {
          this.$message.error("讲师id不能为空");
          return ;
        }
        if(!this.course.id) {
          this.$message.error("课程id不能为空");
          return ;
        }
        if(!this.comment.content) {
          this.$message.error("评论不能为空");
          return ;
        }
        // 赋值
        this.comment.teacherId=this.course.teacherId;
        this.comment.courseId=this.course.id;
        // 添加评论
        courseApi.addComment(this.comment)
          .then(res => {
            if(res.data.code==200) {
              // 刷新评论
              this.selectAllComments();
              // 清空评论框
              this.comment.content="";
              this.$message({
                message: '评论成功',
                type: 'success'
              });
            }else {
              this.$message.error(res.data.message);
            }
          });
      },
      // 获取用户信息
      getUserInfo() {
        let userInfo=cookie.get("userInfo");
        if(userInfo) {
          this.user=JSON.parse(userInfo);
        }
      },
      // 创建订单并跳转到支付页面
      createOrder() {
        // 课程id
        if(!this.course.id) {
          this.$message.error("课程id不能为空");
          return ;
        }
        // 创建订单
        orderApi.createOrder(this.course.id)
          .then(res => {
            if(res.data.code==200) {
              // 获取订单id
              this.$router.push({"path": `/order/${res.data.data.orderNo}`});
            }else {
              this.$message.error(res.data.message);
            }
          });
      }
    }

  }

</script>
